import Vue from "vue";
import Vuex from "vuex";
import create from "vuex-persistedstate";

Vue.use(Vuex);
import userMoudles from "./modules/user";
export default new Vuex.Store({
    modules: {
        user: userMoudles,
    },
    plugins: [
        // 使用插件，就是把模块下的数据刷新不丢失
        // 内部默认使用的是localStorage 存储数据的
        // 这个插件内部做了这么几件事:
        // 1，自动把vuex中的数据在本地存一份
        // 2，当刷新页面的时候，会自动把从本地中取值赋值给vuex
        // 3当vuex中的数据变了时候，自动把最新的数据同步到本地存储中(让本地存储中的数据和vuex数据保持一致)
        // 注意:今颜在代码中只需要关注vuex的数据，这个插件会自动把vuex中的数据同步到本地存储
        create({
            // 哪些子模块下的数据需要持久化
            paths: ["user"],
            // 本地存储的键名
            key: "m-tou",
        }),
    ],
});